跳到主要内容

血条配置

血条配置在UnitData.ini中,对应字段为BloodBarType

血条样式配置在ACBloodTemplate.json中,文件目录为../game_hud

血条配置

血条配置分为类型配置样式配置,通过BloodBarType字段读取到对应的类型,然后根据类型显示不同的样式

其中样式分为:自己所见队友所见敌人所见

血条类型配置

血条类型配置在ACBloodTemplate.json中对应BloodBarTypes字段,格式为

    "BLOODBAR_TYPE_HERO" : {
// C++中根据 是否玩家控制 阵营 敌友关系 来自动选择一个template
// 寻找顺序 Controled Camps Relations Default
"Controlled" : "MAIN_HERO_NONE", // 自己所见到的血条样式,对应相应的血条样式
"Relations" : {
"Ally" : "ALLY_HERO_NONE", // 友军所见到的血条样式,对应相应的血条样式
"Enemy" : "ENEMY_HERO_NONE" // 敌人所见到的血条样式,对应相应的血条样式
},
"DefaultDistance" : 1000 // 单位与相机的距离等于这个时,按原始大小显示。不配置或等于0时不缩放
},

血条样式配置

血条类型配置在ACBloodTemplate.json中对应Templates字段,格式为

{
"TemplateName" : "MAIN_HERO_NONE", // 血条样式名,对应类型中的每个样式
"Anchor" : [0, 0], // 锚点位置
"Priority" : 3, // 血条的优先级,数值越大越显示在前面,默认为0
"Layout": // 空间布局
[
// 血条
{
"Name" : "BloodGroup", // 控件名称(本控件的名字可不填写)
"Type" : "IMAGE", // 控件类型
"Rect" : [-60, -38, 142, 12], // 该控件位置和宽高 x, y, w, h
"TexturePath": "game_hud/bloodstrip/血条_底1.png",
"Children": // 孩子控件组
[
{
"Name" : "HP", // 血条的名称
"Type" : "INDICATOR", // 类型 "指示器"
"Rect" : [3, 3, 136, 6], // x, y, w, h
"Skin":
[
"game_hud/bloodstrip/血条_绿.png"
],
"Value" : ["生命"],
"Max" : ["生命上限"]
},
{
"Name" : "HPRuler", // 名称 "血条刻度尺" (必须用这个名字)
"Type" : "RULER", // 类型 "尺子"
"Rect" : [3, 3, 136, 6], // x, y, w, h
"Value" : ["生命上限"],
"Scheme": // 刻度尺的风格
[
{ // 风格0
"Color" : [255, 255, 255, 255], // 刻度线颜色 rgba,如果图片是白色,则Color可以用来指定任意颜色,如果想要用图片颜色,Color必须填白色
"Gap" : 100, // 每100点血画一个刻度线
"Level" : 0, // 血量大于0时用这个风格
"Thickness" : 2,
"ShortHeightScale" : 1, //短刻度相对控件的高度
"LongHeightScale" : 1, //长刻度相对控件的高度
"Interval" : 100, //长刻度之间的间隔
"Skin" : "game_hud/bloodstrip/血条_分割线.png" //刻度用的图片
},
{ // 风格1
"Color" : [255, 255, 255, 255], // rgba
"Gap" : 100, // 每100点血画一个刻度线
"Level" : 1000, // 血量大于1000时使用这个风格
"Thickness" : 2,
"ShortHeightScale" : 0.5, //短刻度相对控件的高度
"LongHeightScale" : 1, //长刻度相对控件的高度
"Interval" : 10, //长刻度之间的间隔
"Skin" : "game_hud/bloodstrip/血条_分割线.png" //刻度用的图片
}
]
}
]
},
// 英雄等级
{
"Name" : "BloodLevel",
"Type" : "IMAGE",
"Rect" : [-96 , -51, 45, 45],
"TexturePath": "game_hud/bloodstrip/血条_等级.png",
"Children": // 孩子控件组
[
{
"Name" : "HeroLevel", // 名称 "英雄名称", 必须用这个名字
"Type" : "TEXT",
"Rect" : [-96 , -55, 45, 45], // x, y, w, h
"Color": [255, 255, 255, 255], // rgba
"Text" : "0",
"Font" : "UI/font/MSYH.TTC", // 字体 (这个字体含中英文、韩文、日文)
"Value": "等级"
}
]

}
]
},

血条的护盾效果配置

如果需要在血条上展示血条的护盾效果,则需要让角色拥有护盾的属性

然后将护盾配置在相应血条上,配置格式如下

    // 以上代码省略
{
"Name" : "HP", // 血条的名称
"Type" : "INDICATOR", // 类型 "指示器"
"Rect" : [3, 3, 136, 6], // x, y, w, h
"Skin":
[
"game_hud/bloodstrip/血条_绿.png"
],
"Value" : ["生命","护盾"], // 表示当前血条由生命和护盾组成
"Max" : ["生命上限","护盾"] // 表示当前上限由生命和护盾组成
},
// 以下代码省略

不同长短的血条样式配置

当需要实现在不同单位头顶显示长短不一的不同血条时

则需要规范一下该血条当满的时候会有多少生命上限,如下面代码中血条最大生命上限

所有的生命上限都是相对于血条最大生命上限进行缩放

    // 以上代码省略
{
"TemplateName" : "ENEMY_HERO",
"Anchor" : [0, 0],
"MaxTitleNum" : 5,
"Layout":
[
// 血条和魔条
{
"Name" : "背景",
"Type" : "INDICATOR", // 类型 "指示器"
"Overlay":"RowCenter",
"Rect" : [-200, -10, 400, 20], // x, y, w, h
"Skin":[
"game_hud/bloodstrip/血条底框_1.png"
],
"Value" : ["生命上限"],
"Max" : ["血条最大生命上限"],
"Children":[
{
"Name" : "HP", // 名称 "血条" (必须用这个名字)
"Type" : "INDICATOR", // 类型 "指示器"
"Rect" : [0, 0, 400, 20], // x, y, w, h
"Skin":[
"game_hud/bloodstrip/红色血条.png"
],
"Value" : ["生命"],
"Max" : ["血条最大生命上限"]
}
]
},
]
},
// 以下代码省略

血条图集

通过图集工具打包血条图集,血条图集目前暂时不支持九宫